﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SupportLayer.Objetos.Cliente
{
	[Table(Constantes.Tabelas.TABELAS.CLIENTE)]
	public class ClienteClass
	{
		[Column(Constantes.CLIENTE.CLIENTE.ID)]
		[Display(Name = Constantes.CLIENTE.CLIENTE.ID)]
		public Int64 ID { get; set; }

		[Column(Constantes.CLIENTE.CLIENTE.NOME)]
		[Display(Name = Constantes.CLIENTE.CLIENTE.NOME)]
		public string Nome { get; set; }

		[Column(Constantes.CLIENTE.CLIENTE.SOBRENOME)]
		[Display(Name = Constantes.CLIENTE.CLIENTE.SOBRENOME)]
		public string Sobrenome { get; set; }

		[Column(Constantes.CLIENTE.CLIENTE.CPF)]
		[Display(Name = Constantes.CLIENTE.CLIENTE.CPF)]
		public string CPF { get; set; }

		[Column(Constantes.CLIENTE.CLIENTE.SEXO)]
		[Display(Name = Constantes.CLIENTE.CLIENTE.SEXO)]
		public char Sexo { get; set; }

		[Column(Constantes.CLIENTE.CLIENTE.DATA_NASCIMENTO)]
		[Display(Name = Constantes.CLIENTE.CLIENTE.DATA_NASCIMENTO)]
		public DateTime DataNascimento { get; set; }

		[Column(Constantes.CLIENTE.CLIENTE.DDD_TELEFONE)]
		[Display(Name = Constantes.CLIENTE.CLIENTE.DDD_TELEFONE)]
		public string DDDTelefone { get; set; }

		[Column(Constantes.CLIENTE.CLIENTE.TELEFONE)]
		[Display(Name = Constantes.CLIENTE.CLIENTE.TELEFONE)]
		public string Telefone { get; set; }

		[Column(Constantes.CLIENTE.CLIENTE.DDD_CELULAR)]
		[Display(Name = Constantes.CLIENTE.CLIENTE.DDD_CELULAR)]
		public string DDDCelular { get; set; }

		[Column(Constantes.CLIENTE.CLIENTE.CELULAR)]
		[Display(Name = Constantes.CLIENTE.CLIENTE.CELULAR)]
		public string Celular { get; set; }

		[Column(Constantes.CLIENTE.CLIENTE.EMAIL)]
		[Display(Name = Constantes.CLIENTE.CLIENTE.EMAIL)]
		public string Email { get; set; }

		[Column(Constantes.CLIENTE.CLIENTE.SENHA)]
		[Display(Name = Constantes.CLIENTE.CLIENTE.SENHA)]
		public string Senha { get; set; }

		[Column(Constantes.CLIENTE.CLIENTE.RECEBER_OFERTAS)]
		[Display(Name = Constantes.CLIENTE.CLIENTE.RECEBER_OFERTAS)]
		public bool ReceberOfertas { get; set; }

		[Column(Constantes.CLIENTE.CLIENTE.ATIVO)]
		[Display(Name = Constantes.CLIENTE.CLIENTE.ATIVO)]
		public bool Ativo { get; set; }

		[NotMapped]
		public List<EnderecoClass> Enderecos { get; set; }
	}
}
